// Copyright (c) 2009 Luca Marrocco.
// Modified or written by Luca Marrocco for inclusion with codej.
// Licensed under the Apache License, Version 2.0 (the "License")
package codej.ast;


import codej.ast.*;
import codej.ast.*;
import codej.gen.Token;
import codej.parser.java.*;

/** @author Luca Marrocco */
public interface Visitor {

	void visit(ArrayInitializer arrayInitializer);

	void visit(Assert Assert);

	void visit(AssignStatement assignStatement);

	void visit(Block block);

	void visit(Bound bound);

	void visit(Break Break);

	void visit(ClassOrInterfaceTypeDeclaration classOrInterfaceTypeDeclaration);

	void visit(CompilationUnit compilationUnit);

	void visit(Continue Continue);

	void visit(Do Do);

	void visit(Documentation documentation);

	void visit(Empty Empty);

	void visit(EnumDeclaration enumDeclaration);

	void visit(ExpressionInitializer expressionInitializer);

	void visit(For For);

	void visit(FormalParameter formalParameter);

	void visit(IdExpression idExpression);

	void visit(If If);

	void visit(ImportDeclaration importDeclaration);

	void visit(LocalVariableDeclaration localVariableDeclaration);

	void visit(MethodDeclaration methodDeclaration);

	void visit(Modifier modifier);

	void visit(NumberExpression numExpression);

	void visit(OperationExpression operationExpression);

	void visit(PrintStatement printStatement);

	void visit(Return Return);

	void visit(Switch Switch);

	void visit(Synchronized Synchronized);

	void visit(Throw Throw);

	void visit(Token token);

	void visit(Try Try);

	void visit(Type type);

	void visit(TypeDeclarationStatement typeDeclarationStatement);

	void visit(TypeParameter typeParameter);

	void visit(VariableDeclaration variableDeclaration);

	void visit(VariableDeclarator variableDeclarator);

	void visit(VariableInitializer variableInitializer);

	void visit(While While);

	void visit(ForInit forInit);

	void visit(ForUpdate forUpdate);
	
	void visit(ForEach forEach);
	
	void visit(ForIteration forIterator);

	void visit(Literal literal);

	void visit(Primary primary);

	void visit(UnaryExpression unaryExpression);

	void visit(CastExpression castExpression);

	void visit(Selector selector);

	void visit(NextExpression nextExpression);

	void visit(Expressions expressions);

	void visit(InstanceOfExpression instanceOfExpression);

	void visit(ParExpression parExpression);

	void visit(Arguments arguments);

	void visit(VariableDeclarators variableDeclarators);

	void visit(NextVariableDeclarator nextVariableDeclarator);

	void visit(NextVariableDeclaration nextVariableDeclaration);

	void visit(Ids ids);

	void visit(NextId nextId);

	void visit(Id id);

	void visit(ExpressionStatement expressionStatement);

	void visit(Statements statements);

	void visit(SwitchExpression switchExpression);

	void visit(SwitchConstant switchConstant);

	void visit(SwitchDefault switchDefault);

	void visit(Annotations annotations);
	
}